Content addressable memories (CAMs) are unique as logic elements because the location of a desired data pattern can be retrieved on command. CAMs also provide a normal read/write access method to allow programming or switching of the data base to be scanned. These features make CAMs ideal for quick data searches, correlation checks, and sorting by value or attribute. A specific application of fast CAMs is in large virtual memory systems.
As the semiconductor industry's average cost per gate continues to drop, CAMs, which were once dismissed as too expensive for all but the highest performance systems, are finding wider application. Today, large CAMs (greater than 1 Kb) are being used for memory management, database management and data flow computing architectures. With their increased usage, testability considerations may exert greater influence on the design of these large CAMs. For a description of integrated circuit CAMs having simple memory cells that are compatible with peripheral circuits designed for existing IC random access memories (RAMs), see J. T. Koo, "Integrated-Circuit Content-Addressable Memories", IEEE Journal of Solid-State Circuits, Vol. SC-5, No. 5, October 1970, pp. 208-215.
In general, very little has been published on how to test CAMs. In order to reduce the test time to an absolute minimum, it is desirable to maximize the use of the parallel search capability of CAMs that is built into them.